آشنایی با ساختار ریجستری :
یک درخت را در نظر بگیرید که از ریشه – تنه – شاخه – برگ – گل - ..... تشکیل شده است یعنی اگر از یشه شروع کنیم و همین طور جلو بریم به برگها یا گلها میرسیم، ریجستری در ویندوز هم یک ساختار درختی دارد، البته در نگاه اول ممکنه برای شما عجیب و غیر قابل فهم باشد، اما windows Explorer را در ویندوز در نظر بگیرید که از MYComputer شروع شده بعد به داریوها میرسیم بعد شاخه ها بعد زیر شاخهها .... تا نهایتاً به فایلهای میرسیم ساختار ریجستری نیز دقیقاً چنین ساختاری را دارد.
هر شاخه اصلی با آیکون folder نمایش داده می شود که به آنها اصطلاحاً Hive نیز گفته می شود. هر شاخه خود می تواند شامل زیر شاخه هایی باشد تا نهایتاً به متغیر ها با مقادیر برسند. در متغیرها است که اطلاعات واقعی ریجستری ذخیر می شود.
در ریجستری سه نوع متغیر وجود دارد که عبارتند از : Dword، Binary، String که هر کدام از آنها در شرایط خاصی قابل استفاده می باشد. شش شاخه اصلی در ریجستری وجود دارند که هر کدام بخشی از اطلاعات ذخیره شده در ریجستری را نگهداری می کنند که در اینجا اشاره ای کوتاه برهر کدام داریم:
HKEY_CURRENT_USER : این شاخه به بخشی از اطلاعات شاخه HKEY_USERS اشاره می کند که در آن خصوصیات و اطلاعات کاربر فعلی از قبیل نام کاربر، تنظیمات میز کاری
(Desktop)، تنظیمات منوی شروع(Startmenu) و ... در سیستم نگهداری می شود.
HEKY_CLASS_ROOT :
اینشاخه شامل اطلاعاتی ازقبیل، نگاشت پیوستگی فایلها برای پشتیبانی از ویژگی کشیدن و رهاکردن (Dtrag – and - Drop)، اطلاعات OLE، میانبرهای ویندوز(Shortcuts)، و هسته اصلی واسط کاربری ویندوز (User Interface) می باشد.
HEKY_LOCAL_MACHINE :
این شاخه شامل اطلاعاتی در مورد خصوصیات سیستم کامپیوتر از قبیل سخت افزار، نرم افزار و دیگر مشخصه های کامپیوتر میباشد، که آن اطلاعات برای تمام کاربرانی که از سیستم استفاده میکنند یکسان میباشد.
HEKY_USERS :
این شاخه محتوای اطلاعات انتخابات و تنظیمات مربوط به هر کاربر میباشد. هر کاربر یک SID در این شاخه دارد.
HEKY_CURRENT_CONFIG :
این شاخه نیز به شاخه HKEY_LOCAL_MACHINE اشاره میکند و در ارتباط می باشد و شامل پیکربندی سخت افزار سیستم می باشد.
HEKY_DYN_DATA :
این شاخه نیز به شاخه HEKY_LOCAL_MACHINE اشاره می کند و برای استفاده از
خاصیت & PLUG PLAY در ویندوز می باشد. این بخش پویا می باشد یعنی بر اساس هر وسیله یا دستگاه جانبی که به سیستم متصل می شود تغییر می کند.
پنج نوع متغییر نیز وجود دارد که هرکدام در زیر شرح داده شده اند:
REG_BINARY :
این نوع متغیر داده نوع باینری خام را ذخیره می کند. اکثر اطلاعات سخت افزار و اجزاء در این نوع متغیر ذخیره می شود و همچنین در ویرایشگر ریجستری ویندوز قابلیت نمایش این نوع متغیر به صورت هگزا دسیمال نیز وجود دارد.
REG_DWORD :
این نوع متغیر برای نمایسش داده های 4 بایتی و همچنین برای ذخیره کرده مقادیر منطقی درست یا غلط (TRUE OR FALSE) به کار میروند. بدین ترتیب که برای نمایش غلط از عدد "0" و برای نمایش درست از "1" استفاده می شود. علاوه بر این نگهداری پارامترهای گرداننده دستگاهها و سرویس دهنده ها از این نوع پارامترها استفاده می کنند. و در REGEDIT32 قابلیت نمایش به صورت باینری،هگزا و دسیمال را دارد.
REG_EXPAND_SZ :
این یک نوع متغیر رشته ای قابل گسترش می باشد که نرم افزارها جهت بعضی اعمال خود از این متغیر استفاده می کنند. برای مثال در ویندوز 2000 یا NT به جای عبارت
%SYSTEM ROOT% با مقدار واقعی خود بعضی مسیر نصب ویندوز (مثلاً C:\WINDOWS) جایگزین می شود. باید توجه داشته باشید که این نوع متغیر فقط در ویرایشگرهای پیشرفته ریجستری از قبیل REGEDIT32 قابل استفاده است.
REG_MULTI_SZ :
این نوع متغیر رشته ای چند گانه می باشد که برای مقادیری که شامل یک لیست یا چندین مقدار میباشد به کار می رود که هر مقدار با کاراکتر NULL از بقیه جدا می شود. باید توجه داشته باشید که این نوع متغیر فقط در ویرایشگرهای پیشرفته ریجستری از قبیل REGEDIT32 قابل استفاده است.
REG_SZ :
این نوع متغیر رشته ای استاندارد می باشد که برای ذخیره کرده متن فایل خواندن وسط کاربر استفاده می شود.
انواع دیگر نوع داده که در ویرایشگرهای استاندارد قابل استفاده نیستند عبارتند از :
REG_DWORD_LITTLE_ENDIAN :
یک عدد 32 بیتی از نوع LITTLE_ENDIAN را می توان در خود ذخیره کنند.
REG_DWORD_BIG_ENDIAN :
یک عدد 32 بیتی از نوع BIG_ENDIAN را میتوانند در خود ذخیر کنند.
REG_LINK :
یک پیوند نمادین یونیکد می باشد و به طور داخلی استفاده می شود و نرم افزارها قادر به استفاده کردن از آن نمی باشند.
REG_NONE :
نوع خاصی برای آن تعریف نشده است.
REG_QWORD :
نوع متغیر می تواند یک عدد 64 بیتی را در خود ذخیره کند.
REG_QWORD_LITTLE_ENDING :
این نوع متغیر نیز می تواند یک عدد 64 بیتی با فرمت LITTE_ENDIND را خود ذخیره کند.
REG_RESOURCE_LIST :
لیست منبع گرداننده های دستگاها می باشد.
شرکت مایکروسافت برای اینکه کاربران تازه وارد خراب کاری در ساختار ریجستری نکنند هیچ آیکونی در منوی Start قرار نداده است و برای اجرای و ویرایش ریجستری در ویندوز باید برنامه REGEDIT.EXE را فراخوانی کنیم.
برای اجرای ویرایشگر ریجستری ابتدا به منوی Start رفته سپس گزینه RUN را انتخاب می کنیم در کادر ظاهر شده دستور REGEDIT را وارد می کنیم پس از اینتر کردن پنجره ای را که در مقابل خود مشاهده می کنیم محیط ویرایشگر ریجستری می باشد.
پانل سمت چپ : این پانل نمایشگر نحوه سازماندهی ریجستری می باشد.
اولین و بالاترین مدخل My computer است که در درس قبل به آنها اشاره شد که در ریجستری به صورت پوشه نمایش داده می شود. هر کلی می تواند دارای چند زیر کلید باشد و این امر تا هر سطح می تواند ادامه یابد. جهت باز نمودن هر کلید و مشاهده زیر کلید های آن باید بر روی علامت (+) آن کلیک نماییم وجهت بستن کلید می توان بر روی علامت (-) آن کلید نمود.
پانل سمت راست : این پانل، مدخل حاوی مقادیر یک کلید در ریجستری را نشان می دهد. هر کلید می تواند شامل چندین مقدار باشد که هر یک از این مقادیر داری نام و محتوا (Dtat) هستند.